Structure and Components of Message Codes

Basic Information

Every message has a single unique 11-character code to go with it. This code remains unchanged even though it is possible to vary the text of the message over time. Members are thus strongly recommended to set their systems to parse on the basis of these 11-character codes.

The codes have been structured logically and systematically, making it possible for messages to be processed in a way permitting an automatic analysis, grouping or aggregation.

General Format

Each individual position or each group of positions of the 11-character codes has its own particular meaning. The individual positions are grouped into four blocks, which together comprise the code as a whole.

 

0 0 0 0 0 0 0 0 0 0 0
A B C D

 

  • A: Classification
  • B: Interface
  • C: Component
  • D: Code

 

A - Classification (position 1)

The code's first position is used to classify the type of message. This is also an indication of how critical the message is.

1 INFO, success
2 INFO, failed
3 WARNING, temporary error
4 WARNING, permanent error
5 ERROR, temporary error
6 ERROR, permanent error
7 TECHNICALERROR, temporary error
8 TECHNICALERROR, permanent error

 

  • INFO
    DENIC has carried out an instruction exactly as it was given, or DENIC provides information on its own initiative, not in response to an instruction.
  • WARNING
    DENIC has executed a request, but has changed at least one detail compared with the content of the request.
  • ERROR
    DENIC has not executed a request because there was at least one error.
  • TECHNICALERROR
    DENIC has not been able to process the request for reasons not related to its form or content, but because of technical problems with request processing.
    • temporary
      The error is of a temporary nature only. You may re-submit the request later. This category includes, e.g. errors due to name servers that are temporarily inaccessible.
    • permanent
      The error is a fundamental one. For example: You will never succeed in registering a domain with the status "invalid", no matter when and how often you might try.

 

B - Interface (position 2)

Position 2 contains the code for the interface that is used.

1 currently not used
2 currently not used
3 RRI (.de)
4 RRI (.9.4.e164.arpa)
5 whois
6 not dependent on a particular interface
9 web application

 

B - Interface (positions 3 to 5)

The next three positions characterize the corresponding module that processed the request. Generally speaking, the names given to the modules are close to the name of the particular request form or procedure.

The expression "not dependent on a particular module" means that the message does not refer to a particular request form but has something to do with the object of the request. For example: 300 refers generally to a domain request, irrespective of whether it is a CREATE (which would be 310), an UPDATE (which would be 320) or any other request form.

000 Not dependent on a particular application
100 LOGIN / LOGOUT
200 Contact - not dependent on a particular module
210 CREATE (contact)
220 UPDATE (contact)
300 Domain - not dependent on a particular module
310 CREATE (domain)
320 UPDATE (domain)
330 CHHOLDER
340 RENEW (ENUM domain)
345 Expire (ENUM domain)
348 Expire (DE domain)
350 DELETE
360 TRANSIT
370 CHPROV
391 CREATE-AUTHINFO1
392 DELETE-AUTHINFO1
393 CREATE-AUTHINFO2
394 AuthInfo-expire
400 CHECK
450 INFO
500 RAI - not dependent on a particular module
600 QUEUE - not dependent on a particular module
610 QUEUE-READ
650 QUEUE-DELETE